/** \file laban.h
	\brief A file containing necessary includes for necessary libraries, and constant definitions.
	This file contains #include statements for all the libraries needed by the parser, 
	the stl libraries needed by the project, as well as some constant definitions.

	Adapted from:
	Example of a grammar for parsing C sources,
	Adapted from Java equivalent example, by Terence Parr
	Author: Jim Idle - April 2007
	Permission is granted to use this example code in any way you want, so long as
	all the original authors are cited.
	
    
*/



#ifndef	_LABAN_H
#define	_LABAN_H

#ifdef	__xlc__
#pragma options cpluscmt
#endif


#define UNIQUEID -2
#define NONUNIQUEVAL -1

#include <labanLexer.h>
#include <labanParser.h>
#include <sstream>
#include <iostream>
#include <vector>
#include <map>
#include <fstream>
#include <set>
using namespace std;

//!This type is used to represent nodes in our graph.
/*!This type is a pair<string, int> . The string member contains the ID of the node, while the int member
contains information about the type of the node.
*/
typedef pair <string, int> DAGnode;
typedef vector < pair <DAGnode, DAGnode> > DAGedges;

const int BIGVAL = 1<<30;

#ifdef	WIN32
#pragma warning( disable : 4100 )
#endif

#endif

